class Dep {
  constructor() {
    // 1.初始化subs存储所有观察者的数组
    this.subs = [];
  }
  // 2.添加观察者
  addSub(sub) {
    //判断是否有传递观察者，且约定观察者必须有update方法，方便在被通知后，调用update方法
    if (sub && sub.update) {
      this.subs.push(sub);
    }
  }
  // 3.发送通知给所有观察者
  notify() {
    this.subs.forEach((sub) => {
      sub.update();
    });
  }
}
